package easy.柠檬水找零;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;

/**
 * @author zhengTao
 * @version 1.0
 * @description: 柠檬水找零
 * @date 2022/11/21 10:55
 */
public class Demo860 {
    public boolean lemonadeChange(int[] bills) {
        HashMap<Integer,Integer> hashMap=new HashMap<>();

        for (int i = 0; i < bills.length; i++) {
            if(bills[i]==5){
                hashMap.put(5,hashMap.getOrDefault(5,0)+1);
            }
            if(bills[i]==10){
                if(hashMap.containsKey(5)&&hashMap.get(5)>=1){
                    hashMap.put(5,hashMap.get(5)-1);
                    hashMap.put(10,hashMap.getOrDefault(10,0)+1);
                }else {
                    return false;
                }
            }
            if(bills[i]==20){
                if(hashMap.containsKey(5)&&hashMap.get(5)>=1&&hashMap.containsKey(10)&&hashMap.get(10)>=1){
                    hashMap.put(5,hashMap.get(5)-1);
                    hashMap.put(10,hashMap.get(10)-1);
                    hashMap.put(20,hashMap.getOrDefault(20,0)+1);
                }else if(hashMap.containsKey(5)&&hashMap.get(5)>=3){
                    hashMap.put(5,hashMap.get(5)-3);
                    hashMap.put(20,hashMap.getOrDefault(20,0)+1);
                }else {
                    return false;
                }
            }
        }
       return true;
    }
}
